Image processor for producing cross-faded image from first and second image data

ABSTRACT

An image processor produces a cross-faded image from first and second image data and first and second control data. The cross-faded image corresponds to a product of the first image data and the first control data and a product of the second image data and the second control data. The image processor includes a first address generator which generates a first l-bit address signal made up of the upper (n-k 1 ) bits of the first n-bit image data and the upper (m-k 2 ) bits of the first m-bit control data. Similarly, a second address generator is provided which generates a second l-bit address signal made up of the upper (n-k 1 ) bits of the second n-bit image data and the upper (m-k 2 ) bits of the second m-bit control data. The number of bits l of each address signal is less than a sum of the bits n and m of each of the image data and control data. The first and second address signals are used to access a ROM which is used to generate corresponding first and second product data. The product data is summed to generate cross-faded image data.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image processor for producing a special effect, particularly cross fade, during the visual display of image data.

2. Description of the Prior Art

One special effect known as "dissolve (cross fade)" is commonly used in the display of still images, for example, on a monitor screen. This special effect exhibits, rather than an immediate shift from one picture to another, a so-called cross fading in which the current image is faded out while a subsequent image is faded in. If the data of the current image is denoted A, the data of the subsequent image is denoted B, and a control signal is denoted α, the "dissolve" effect is expressed as:

    C+A·α+B·(1-α)

where the effect is realized by gradually varying α from 1 to 0. This visual effect becomes feasible using hardware such as a multiplier or a ROM having a lookup table. With respect to circuitry simplicity and high-speed operation, the use of a ROM is more advantageous. A technique using the ROM will now be described.

The image data of the current and subsequent images and the control signal α are fed to the ROM and together serve as an address signal of the ROM. Then, the ROM produces two resultant outputs denoting the products A·α and B·(1-α) corresponding to previously stored data. A·α and B·(1-α) are then summed to obtain intermediate image data C denoting a cross faded image.

If each original image data A and B consists of an 8-bit word and the control signal α consists of a 5-bit word, the ROM must accept a 13-bit address signal and thus, must at least have a memory capacity of 8 Kbits. Since the control signal α contains 5-bits, the intermediate image data C is produced in the form of 32 gradations; 31/31, 30/31, . . . , 1/31, and 0/31, corresponding to the variation of α from 1 to 0. If each of the resultant intermediate image data C is displayed for 1/30 second, the total duration of the display shift from the current image A to the subsequent image B as α varies from 1 to 0 takes a period of 1/30×31 second or about one second. The longer the display shift duration, the more noticeable the shift from the image data A to the image data B will be. However, if the duration of the display shift is increased by extending the display time of each intermediate image, the "dissolve" effect will appear jerky (not smooth). For increasing the duration of the "dissolve" effect and at the same time exhibiting a smooth visual effect, it is necessary to increase the number of bits of the control signal α. However, this would require that the memory capacity of the ROM in a prior art image processor also be increased. Also, if the case where a multiplier is employed, the number of bits of a multiplication coefficient would have to be increased and thus, an arithmetic operation at a higher speed would be necessary.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide an image processor capable of producing a smooth display image shift by increasing the duration of the "dissolve" effect with requiring an increased memory capacity of a ROM.

For achievement of the above object, an improved image processor according to the present invention is characterized by the following relations:

    l=(n-k.sub.1)+(m-k.sub.2) and

    k=k.sub.1 +k.sub.2 (0≦k.sub.1 ≦k, 0≦k.sub.2 ≦k)

where l denotes the number of bits of an address signal applied to a ROM, m denotes the number of bits of a control signal α, n denotes the number of bits of an image data, and k₁ and k₂ are values determined by the value of α. The lower k bits of either the image data or the control signal are selected on a bit-by-bit basis according to the value of the control signal α and then fed to the ROM. Accordingly, the apparent number of bits of the control signal α can be increased from (m-k) to m so that the duration of display shift is extended. As the result, a smooth shift of one image to another on a display screen (the "dissolve" effect) will be ensured.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an image processing calculator provided in an image processor according to the present invention; and

FIG. 2 is a block diagram of the image processor showing one embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the display of a series of image data on a monitor screen, a "dissolve (cross fade)" technique entails gradually shifting from one image to another. More particularly, the technique allows a current image to be faded out and a subsequent image to be simultaneously faded in. If the data of the current image is denoted A and the data of the following image is denoted B, this effect is expressed as:

    C=A·α.sub.1 +B·α.sub.2 (0≦α1≦1,0≦α2≦1)   (1)

The data of a transit cross faded image denoted by C varies as the control signal α₁ is shifted from 1 to 0 and simultaneously, the control signal α₂ is shifted from 0 to 1. FIG. 1 illustrates an image processing calculator 24 provided in an image processor of the present invention for carrying out the above arithmetic operation.

Each image data A and B is received in an n-bit digital form and each control signal α₁ and α₂ is represented by an m-bit binary number. As shown, ROMs 3 and 4 are read-only memories each for receiving an l-bit address signal and generating an n-bit output. The relationship between l, m, and n is expressed as:

    n+m>l                                                      (2)

Referring first to the image data A, a selector signal A generator 6 is arranged for decoding the value of the control signal α₁ and generating a corresponding selector signal 8. The selector signal 8 in turn actuates a selector 1 to extract the lower k bits from each of the image data A and the control signal α₁ for transmission. The number of bits k is obtained from:

    k=n+m-l                                                    (3)

It is assumed that the lower k bits of the image data a is expressed as a_(k-1), a_(k=2), . . . , a₁, and a₀ and the same of the control signal α₁ is expressed as c_(k-1), c_(k=2), . . . , c₁, and c₀. In operation, the selector 1 chooses one of the pairs; a_(k-1) and c₀, a_(k=2) and c₁, . . . , a₁ and c_(k=2), or a₀ and c_(k-1). As the result, the selector 1 outputs the upper k₂ bits of the lower k bits of the image data A and the upper k₁ bits of the lower k bits of the control signal α₁. The numerals k₁ and k₂ are determined by:

    l=(n-k.sub.1)+(m-k.sub.2) (0≦k.sub.1 ≦k, 0≦k.sub.2 ≦k)                                                (4)

Then, the upper (n-k₁) bits of the image data A and the upper (m-k₂) bits of the control signal α₁ are fed to the ROM 3 as an address signal in order to access prestored product data. The resultant n-bit product data is transferred to one of two inputs of the adder 5.

As shown in FIG. 1, a selector 2 and a ROM 4, similar to the selector 1 and the ROM 3, are provided for the image data B. A selector signal B generator 7 is also provided for decoding the value of a control signal α₂ to the extraction selector signal 9. The selector signal 9 triggers the extraction of the lower k bits of each of the image data B and control signal α₂ signal. Then, after the selector 2 carries out a bit selection like that of the selector 1 described above, the upper (n-k₁) bits of the image data B and the upper (m-1₂): bits of the control signal α₂ are applied to the ROM 4 as an address signal to access product data which is then transferred to the other input of the adder 5. Finally, the two resultant product data are summed by the adder 5 to produce the image data C.

An example of the foregoing operation will now be described assuming that n=8, m=7, and k=2. The numerals k₁ and k₂ are determined according to the contents of the control signal α, as shown in Table 1. Table 1 depicts a binary representation (c₇, c₆, c₅, . . . , c₂, c₁, and c₀) and a decimal representation of the control signal α.

                  TABLE 1                                                          ______________________________________                                         Binary form of                                                                 Control signal Decimal form of                                                                             Values of                                          C6C5C4C3C2C1C0 Control signal                                                                              k1 and k2                                          ______________________________________                                         0000000        0            k1 = 2                                             0000001        1            k2 = 0                                             0000010        2                                                               .              .                                                               .              .                                                               .              .                                                               1111011        123                                                             1111100        124          k1 = 0                                             1111101        125          k2 = 2                                             1111110        126                                                             1111111        127                                                             ______________________________________                                    

When decimal representation of the control signal ranges from 0 to 123, k₁ =2 and k₂ =0. When the control signal ranges from 124 to 127, k₁ =0 and k₁ =2. The selector signal A generator 6 and the selector signal B generator 7 may be formed of ROMs having a 7-bit input and 1-bit input. Also, they may instead be formed of logic circuits for detecting when the upper 5 bits (c₆, c₅, c₄, c₃, and c₂) of the control signal are "1"s. The selector signal 8 from the selector signal A generator 6 actuates the selector 1 to transmit the lower 2 bits of the control signal α₁ when the control signal α₁ is 124 to 127. Also, the same selecting action of the selector 2 is triggered by the selector signal 9 according to the control signal α₂.

Table 2 shows the decimal representation and the corresponding multiplication coefficient α' of the control signal α.

                  TABLE 2                                                          ______________________________________                                                         Multiplication                                                 Decimal form of coefficient                                                    Control signal  α'                                                       ______________________________________                                          0               0/124                                                          1               1/124                                                          2               2/124                                                         .               .                                                              .               .                                                              .               .                                                              123             123/124                                                        124             124/124                                                        125                                                                            126                                                                            127                                                                            ______________________________________                                    

As shown in Table 1, the lower 2 bits of the control signal α is not fed to the ROM when the value of the control signal α is 124 to 127. Hence, the number of gradations during the change of the multiplication coefficient α' from 0 to 1 or 1 to 0 becomes 125. Accordingly, the denominator of the multiplication coefficient α' is equal to 124. When the value of the control signal α is 0 to 123, the image data less the lower 2 bits thereof is multiplied by the multiplication coefficient α'. When the value of the control signal α is 124 to 127, the 8-bit value of the image data is effectively multiplied by 124/124. The resultant product data is output from each of the ROMs 3 and 4 where relevant data are previously stored representative of the foregoing multiplying operations.

In operation, the shift from the image data A to the image data B on the screen of a display monitor is gradually executed by decreasing the decimal value of the control signal α₁ from 127 to 126, . . . , 2, 1, and 0 and at the same time, increasing the decimal value of the control signal α₂ from 0 to 1, 2, . . . , to 127, to produce a series of the intermediate image data C which are displayed in sequence on the screen of the display monitor. For a shift from the image data B to the image data A, a reverse processing of the two control signals α₁ and α₂ is carried out.

FIG. 2 is a block diagram of the image processor of the present invention. In operation, image data from an interface 26 are stored into an image memory A 20 and an image memory B 21 by the operation of an image memory controller 22. The image processing calculator 24 is arranged as illustrated in FIG. 1. The image data 10 (image data A) and 11 (image data B) are read out of the image memory A 20 and image memory B 21, respectively, under control of the image memory controller 22. The image processing calculator 24 subjects the read-out image data 10 and 11 to the above-described processing according to control signals α₁ and α₂, denoted by reference numerals 12 and 13, generated by a control signal generator 23 to produce the image data C denoted by reference numeral 14. The image data C 14 is transmttted to a D/A converter 25 where it is converted into an analog output signal 27 which is in turn fed to a display monitor.

Although the shift of the image data A to the image data B in the embodiment is carried out by decreasing the control signal α₁ from 1 to 0 and simultaneously, increasing the control signal α₂ from 0 to 1, the same effects can be achieved by varying the two control signals α₁ and α₂ from 0 to 1. In this case, however, the generation of a selector signal 9 in the selector signal B generator 7 and the data stored in the rom 4 are different from those in the foregoing embodiment. The corresponding operation will be described assuming that n=8, m=7, and k-2. The generation of a selector signal 8 at the selector signal A generator 6 and the data stored in the ROM 3 are in accordance with the lists shown in Tales 1 and 2. The generation of the selector signal 9 in the selector signal B generator 7 and the data stored in the ROM 4 comply with Tables 3 and 4.

                  TABLE 3                                                          ______________________________________                                         Binary form of                                                                 Control signal Decimal form of                                                                             Values of                                          C6C5C4C3C2C1C0 Control signal                                                                              k1 and k2                                          ______________________________________                                         0000000        0            k1 = 0                                             0000001        1            k2 = 2                                             0000010        2                                                               0000011        3                                                               0000100        4                                                               .              .                                                               .              .                                                               .              .                                                               1111101        125          k1 = 2                                             1111110        126          k2 = 0                                             1111111        127                                                             ______________________________________                                    

                  TABLE 4                                                          ______________________________________                                                         Multiplication                                                 Decimal form of coefficient                                                    Control signal  α'                                                       ______________________________________                                          0              124/124                                                         1                                                                              2                                                                              3                                                                              4              123/124                                                        .               .                                                              .               .                                                              .               .                                                              126              1/124                                                         127              0/124                                                         ______________________________________                                    

As shown in Table 3, the selector signal B generator 7 produces a selector signal 9 upon detecting that the upper 5 bits c₆, c₅, c₄, c₃, and c₂) of the control signal o: in binary form are "0"s. Also, as shown in Table 4, the ROM 4 is arranged for holding data so that when the decimal value of the control signal α₂ is 0 to 3, the multiplication coefficient α' is 124/124. Accordingly, the values of k₁, k₂, and α' in Tables 3 and 4 are equal to those in Tables 1 and 2 when the bits of the control signal are all inverted.

The effects of the present invention are equally established when l, m, n, and k are other arbitrary numbers.

Also, as a specific case of the embodiment, the relation between the two control signal α₁ and α₂ may be expressed as:

    α.sub.2 =l-α.sub.1                             (5) 

What is claimed is:
 1. An image process for generating third image data C from first n-bit image data A, second n-bit image data B, first m-bit control data α₁ and second m-bit control data α₂, wherein m and n are positive integers, comprising:a first address generator for generating a first l-bit address signal made up of the upper (n-k₁₁) bits of the first n-bit image data A and the upper (m-k₁₂) bits of the first m-bit control data α₁, wherein l is a positive integer, wherein k₁₁ and k₁₂ are each integers having a value of at least zero, wherein l<(m+n), wherein l={(n-k₁₁)+(m-k₁₂)}, and wherein k=k₁₁ +k₁₂ (0≦k₁₁ ≦k, 0≦k₁₂ ≦k); a second address generator for generating a second l-bit address signal made up of the upper (n-k₂₁) bits of the second n-bit image data Band the upper (m-k₂₂) bits of the second m-bit control data α₂, wherein k₂₁ and k₂₂ are each integers having a value of at least zero, wherein l={(n-k₂₁)+(m-k₂₂)}, and wherein k=k₂₁ +k₂₂ (0≦k₂₁ ≦k, 0≦k₂₂ ≦k); a read-only-memory having a look-up table for generating first product data (A·α₁) and second product data (B·α₂) in accordance with said first l-bit address data and said second l-bit address data applied thereto, respectively; means for summing said first product data (A·α₁) and said second product data (B·α₂) to obtain the third image data C.
 2. An image processor as recited in claim 1, wherein α₂ =1-α₁.
 3. An image processor as recited in claim 1, wherein said first address generator includes first selector means for setting a value of k₁₁ and a value of k₁₂ according to a value of the first control signal α₁.
 4. An image processor as recited in claim 3, wherein said first selector means includes means for selecting the upper k₁₂ bits of the lower k bits of the first n-bit image data A and the upper k₁₁ bits of the lower k bits of the first m-bit control data α₁ to be included in the first l-bit address signal.
 5. An image processor as recited in claim 4, wherein said second address generator includes second selector means for setting a value of k₂₁ and a value of k₂₂ according to a value of the second control signal α₂.
 6. An image processor as recited in claim 5, wherein said second selector means includes means for selecting the upper k₂₂ bits of the lower k bits of the second n-bit image data B and the upper k₂₁ bits of the lower k bits of the second m-bit control data α₂ to be included in the second l-bit address signal.
 7. An image processor as recited in claim 6, wherein α₂ =1-α₁. 